Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Channels.hpp

Go to the documentation of this file.
00001 ///////////////////////////////////////////////////////////////////////////////
00002 /// @file Channels.hpp
00003 ///
00004 /// @brief Destiny Sound System Channel handling
00005 ///
00006 /// @author paradoxnj
00007 ///
00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
00009 /// contents of this file is subject to the Destiny3D Member License which
00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
00011 ///
00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
00014 /// for any particular purpose.
00015 ///
00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
00017 ///
00018 /// <hr>
00019 ///                                 Change History
00020 /// <hr>
00021 ///
00022 /// @date Jan 2002
00023 /// @author paradoxnj
00024 /// @remarks Creation
00025 ///
00026 ///////////////////////////////////////////////////////////////////////////////
00027 
00028 //Sound Systems 
00029 #ifndef CHANNELS_H
00030 #define CHANNELS_H
00031 
00032 #include <windows.h>
00033 #include <mmsystem.h>
00034 #include <dsound.h>
00035 //#include <dshow.h>
00036 //#include "eax.h"
00037 #include "DirectSound.hpp"
00038 
00039 #include "deFileSystem.hpp"
00040 #include "deResource.hpp"
00041 
00042 class deSFXManager;
00043 //class deChannel;
00044 
00045 IdeResourceBase                         *deSound_LoadWAV(const char *filename, IdeFile *filesystem, deBoolean isThreaded);
00046 IdeResourceBase                         *deSound_LoadOGG(const char *filename, IdeFile *filesystem, deBoolean isThreaded);
00047 
00048 class deSFXManager
00049 {
00050 public:
00051     deSFXManager();
00052     virtual ~deSFXManager();
00053 
00054 public:
00055     IDirectSoundBuffer8                 *m_pBuffer;
00056     IDirectSoundFXGargle                *m_pGargle;
00057     IDirectSoundFXChorus                *m_pChorus;
00058     IDirectSoundFXFlanger               *m_pFlanger;
00059     IDirectSoundFXEcho                  *m_pEcho;
00060     IDirectSoundFXDistortion            *m_pDistortion;
00061     IDirectSoundFXCompressor            *m_pCompressor;
00062     IDirectSoundFXParamEq               *m_pParamEq;
00063     IDirectSoundFXWavesReverb           *m_pReverb;
00064 
00065     DSFXGargle                          m_GargleSettings;
00066     DSFXChorus                          m_ChorusSettings;
00067     DSFXFlanger                         m_FlangerSettings;
00068     DSFXEcho                            m_EchoSettings;
00069     DSFXDistortion                      m_DistortionSettings;
00070     DSFXCompressor                      m_CompressorSettings;
00071     DSFXParamEq                         m_ParamEqSettings;
00072     DSFXWavesReverb                     m_ReverbSettings;
00073     
00074     DSEFFECTDESC                        m_EffectDesc[DESFX_ENUM];
00075     const GUID                          *m_RefID[DESFX_ENUM];
00076     LPVOID                              *m_pIntPtr[DESFX_ENUM];
00077 
00078     DWORD                               m_NumEffects;
00079     DWORD                               m_NumActiveBufs;
00080 
00081 public:
00082     deBoolean                           Initialize(IDirectSoundBuffer *buffer);
00083     void                                Destroy();
00084 
00085     void                                GetGargleSettings(deSFX_Gargle *gargle);
00086     void                                GetChorusSettings(deSFX_Chorus *chorus);
00087     void                                GetFlangerSettings(deSFX_Flanger *flanger);
00088     void                                GetEchoSettings(deSFX_Echo *echo);
00089     void                                GetDistortionSettings(deSFX_Distortion *distortion);
00090     void                                GetCompressorSettings(deSFX_Compressor *compressor);
00091     void                                GetParamEqSettings(deSFX_ParamEQ *param_eq);
00092     void                                GetReverbSettings(deSFX_Reverb *reverb);
00093 
00094     void                                SetGargleSettings(deSFX_Gargle *gargle);
00095     void                                SetChorusSettings(deSFX_Chorus *chorus);
00096     void                                SetFlangerSettings(deSFX_Flanger *flanger);
00097     void                                SetEchoSettings(deSFX_Echo *echo);
00098     void                                SetDistortionSettings(deSFX_Distortion *distortion);
00099     void                                SetCompressorSettings(deSFX_Compressor *compressor);
00100     void                                SetParamEqSettings(deSFX_ParamEQ *param_eq);
00101     void                                SetReverbSettings(deSFX_Reverb *reverb);
00102 
00103     deBoolean                           ActivateFX();
00104     deBoolean                           EnableFX(deSFX_Type type);
00105     deBoolean                           DisableFX();
00106 
00107     deBoolean                           Play(deBoolean loop = deFALSE);
00108     deBoolean                           IsPlaying();
00109     void                                Stop();
00110 
00111     void                                SetVolume(float vol);
00112 
00113 };
00114 
00115 #endif
00116 

Generated on Mon Sep 12 19:58:19 2005 for Destiny3D by doxygen1.3-rc3